Skip to content

Add documentation for flex cidr provider controller#543

Merged
AkarshES merged 1 commit into
oracle:masterfrom
AkarshES:docs/flex-cidr-provider
Jul 10, 2026
Merged

Add documentation for flex cidr provider controller#543
AkarshES merged 1 commit into
oracle:masterfrom
AkarshES:docs/flex-cidr-provider

Conversation

@AkarshES

@AkarshES AkarshES commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Captures the setups to enable the flex cidr provider controller to allocate CIDR blocks for using VCN native IPs for pods. Currently tested with cilium CNI.

@oracle-contributor-agreement oracle-contributor-agreement Bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Jun 25, 2026

@jeetendrakukreja jeetendrakukreja left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@@ -0,0 +1,204 @@
# Flex CIDR Provider Controller

The OCI Cloud Controller Manager (OCI CCM) Flex CIDR Provider Controller enables self-managed Kubernetes clusters running on Oracle Cloud Infrastructure (OCI) to allocate and advertise a VCN-native IP CIDR block that pods can use on a node. This enables using third part CNIs like Cilium to be used in native (direct routing) mode.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit:
a VCN-native IP CIDR block (a.k.a IP CIDR Address)

Suggested change
The OCI Cloud Controller Manager (OCI CCM) Flex CIDR Provider Controller enables self-managed Kubernetes clusters running on Oracle Cloud Infrastructure (OCI) to allocate and advertise a VCN-native IP CIDR block that pods can use on a node. This enables using third part CNIs like Cilium to be used in native (direct routing) mode.
The OCI Cloud Controller Manager (OCI CCM) Flex CIDR Provider Controller enables self-managed Kubernetes clusters running on Oracle Cloud Infrastructure (OCI) to allocate and advertise a VCN-native IP CIDR block (a.k.a IP CIDR Address) that pods can use on a node. This enables using third part CNIs like Cilium to be used in native (direct routing) mode.

reference: https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/managingIPaddresses.htm

- ip-count: number of IPs needed for pods on a node.
- cidr-blocks: [optional] user-specified parent CIDRs to carve pod CIDRs from.

The OKE FlexCIDR Provider expects these values to be stored as metadata on each worker node instance. It fetches this metadata via the OCI Instance Metadata Service (IMDS) and calculates the correct IPv4 CIDR blocks (and IPv6 prefixes) to allocate for that node’s primary VNIC. Use the OCI CLI to configure this metadata:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The OKE FlexCIDR Provider expects these values to be stored as metadata on each worker

please highlight if the customer can achieve this by using custom cloud init

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has to be done in instance configuration or at the time of compute launch.


Verify:

- `flexcidr-primary-vnic` metadata exists.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit:
a sample oci clli get instance command with jq filter on the metadata - a quick pick for user to verify

@AkarshES AkarshES merged commit 88a59e3 into oracle:master Jul 10, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OCA Verified All contributors have signed the Oracle Contributor Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants